package file;

import java.io.File;
import java.io.FileFilter;

//有条件的获取一个目录中的子项
public class ListFilesDemo2 {
    public static void main(String[] args) {
//        获取当前目录中以“.”开始的所有子项
        File dir=new File(".");
        if(dir.isDirectory()){
//            文件过滤器
            FileFilter filter=new FileFilter() {
//                定义过滤规则，当参数file符合过滤要求那么accept方法应当返回true
                @Override
                public boolean accept(File file) {
                    String fileName=file.getName();
                    System.out.println("正在过滤"+fileName);
                    return fileName.startsWith(".");
                }
            };
//            重载的listFiles会将该目录中所有满足过滤器要求的子项返回
            File[] subs =dir.listFiles(filter);
            System.out.println("满足过滤要求"+subs.length+"个");
            for(int i=0;i<subs.length;i++){
                System.out.println(subs[i].getName());
            }
        }
    }
}
